gtk4.git
12 years agoThemes with specified gap images but no actual file crash.
Jehan [Sun, 17 Nov 2013 11:56:44 +0000 (00:56 +1300)]
Themes with specified gap images but no actual file crash.

https://bugzilla.gnome.org/show_bug.cgi?id=712536

12 years agox11: Unset GdkX11DeviceXI2 scroll valuators on device change
Carlos Garnacho [Fri, 27 Sep 2013 17:32:54 +0000 (19:32 +0200)]
x11: Unset GdkX11DeviceXI2 scroll valuators on device change

Scroll valuators were being just appended again and again, leading
to 1) a growing memory issue anytime a device changed 2) the first
scroll valuators to stay permanent on the application lifetime, as
the first stored valuators would always match.

https://bugzilla.gnome.org/show_bug.cgi?id=705203

12 years agobuild: bump requirement on gobject-introspection to 1.39.0
Tim Lunn [Thu, 21 Nov 2013 20:16:58 +0000 (07:16 +1100)]
build: bump requirement on gobject-introspection to 1.39.0

https://bugzilla.gnome.org/show_bug.cgi?id=713044

12 years agowayland: Sync transient-for on xdg-surface show as well...
Jasper St. Pierre [Thu, 21 Nov 2013 17:58:47 +0000 (12:58 -0500)]
wayland: Sync transient-for on xdg-surface show as well...

12 years agowayland: Allow set_title after initial showing
Jasper St. Pierre [Thu, 21 Nov 2013 17:03:18 +0000 (12:03 -0500)]
wayland: Allow set_title after initial showing

and fix the ordering of title / app_id

12 years agoUpdate xdg-shell.xml
Jasper St. Pierre [Thu, 21 Nov 2013 18:00:45 +0000 (13:00 -0500)]
Update xdg-shell.xml

12 years agoprinting: Don't wake up Avahi printers unnecessarily
Marek Kasik [Thu, 21 Nov 2013 14:27:33 +0000 (15:27 +0100)]
printing: Don't wake up Avahi printers unnecessarily

Use info available in Avahi TXT records for creation of gtk printer
and request details when needed (through gtk_printer_request_details()).
If there is a printer advertised on Avahi by a remote CUPS server
try to get its PPD file at first or get its capabilities through an IPP
request if it fails.

https://bugzilla.gnome.org/show_bug.cgi?id=712751

12 years agocombobox: Set GDK_SCROLL_MASK on the eventbox in appears-as-list mode
Carlos Garnacho [Wed, 20 Nov 2013 11:53:57 +0000 (12:53 +0100)]
combobox: Set GDK_SCROLL_MASK on the eventbox in appears-as-list mode

This is so the scroll wheel works in both modes, and there's no behavioral
change depending on a style property.

https://bugzilla.gnome.org/show_bug.cgi?id=702663

12 years agoUpdate xdg-shell.xml
Jasper St. Pierre [Tue, 19 Nov 2013 23:59:50 +0000 (18:59 -0500)]
Update xdg-shell.xml

12 years agowayland: Don't assert fail in DND
Jasper St. Pierre [Tue, 19 Nov 2013 23:55:26 +0000 (18:55 -0500)]
wayland: Don't assert fail in DND

This needs completion, sure thing, but let's try to just not fall
flat on our face first.

12 years agowayland: Don't recreate the gtk_surface on every show
Jasper St. Pierre [Tue, 19 Nov 2013 23:27:54 +0000 (18:27 -0500)]
wayland: Don't recreate the gtk_surface on every show

It's illegal.

12 years agoRevert "stack: respect gtk-enable-animations setting"
Jasper St. Pierre [Tue, 19 Nov 2013 23:38:12 +0000 (18:38 -0500)]
Revert "stack: respect gtk-enable-animations setting"

It already respected enable-animations.

This reverts commit fb9ff442997f02ee2d6ad0eae0321a961e96f56f.

12 years agowayland: Set DBus properties after we've constructed the xdg_surface
Jasper St. Pierre [Tue, 19 Nov 2013 21:24:57 +0000 (16:24 -0500)]
wayland: Set DBus properties after we've constructed the xdg_surface

12 years agowayland: Fix invalid cast in transient_for
Jasper St. Pierre [Tue, 19 Nov 2013 17:36:12 +0000 (12:36 -0500)]
wayland: Fix invalid cast in transient_for

12 years agotreeview: Use CSS property "border-top-color" to draw grid lines
Jonh Wendell [Mon, 18 Nov 2013 19:15:12 +0000 (17:15 -0200)]
treeview: Use CSS property "border-top-color" to draw grid lines

This allows themes to customize the grid line colors in treeviews.

https://bugzilla.gnome.org/show_bug.cgi?id=415415

12 years agostack: respect gtk-enable-animations setting
Matthias Clasen [Tue, 19 Nov 2013 04:19:27 +0000 (23:19 -0500)]
stack: respect gtk-enable-animations setting

https://bugzilla.gnome.org/show_bug.cgi?id=712632

12 years agorevealer: Respect gtk-enable-animations setting
Christian Persch [Mon, 18 Nov 2013 20:21:49 +0000 (21:21 +0100)]
revealer: Respect gtk-enable-animations setting

https://bugzilla.gnome.org/show_bug.cgi?id=712632

12 years agoBump version
Matthias Clasen [Tue, 19 Nov 2013 01:59:05 +0000 (20:59 -0500)]
Bump version

12 years ago3.11.2
Matthias Clasen [Mon, 18 Nov 2013 23:24:16 +0000 (18:24 -0500)]
3.11.2

12 years agoreftests: Fix rendering issues with border-image reftest
Benjamin Otte [Tue, 19 Nov 2013 01:27:47 +0000 (02:27 +0100)]
reftests: Fix rendering issues with border-image reftest

When downscaling images, Cairo apparently uses algorithms different
enough to make this test trip over. So add the downscaled image as the
reference instead of downscaling the previous reference image.

Fixes the border-image reftest. For real now.

12 years agoreftests: Fix border-image-repeat test
Benjamin Otte [Tue, 19 Nov 2013 00:43:35 +0000 (01:43 +0100)]
reftests: Fix border-image-repeat test

The new downscaling code in Cairo doesn't allow this test, so we remove
the CSS that made the border downscaled.

So the test does test less now, but it still tests the repeat modes of
border images.

12 years agogdk: Ignore crossings generated by passive grabs when resetting scroll axes
Carlos Garnacho [Mon, 18 Nov 2013 21:12:18 +0000 (22:12 +0100)]
gdk: Ignore crossings generated by passive grabs when resetting scroll axes

Passive grabs may take pointer focus out of the application, even though
the pointer didn't leave the window, but those events still trigger resetting
of the scroll axes. This is most visible with compiz, and possibly other
reparenting WMs, where passive grabs happen on the WM-managed window that
is a parent of the application toplevel.

As it is not possible to have scrolling happening on the timespan a passive
grab takes action, it is entirely safe for GTK+ to assume none happened if
it gets a crossing event of that nature.

https://bugzilla.gnome.org/show_bug.cgi?id=699574#c33

12 years agowayland: Replace wl_shell_surface with xdg_shell
Jasper St. Pierre [Mon, 11 Nov 2013 23:02:19 +0000 (18:02 -0500)]
wayland: Replace wl_shell_surface with xdg_shell

12 years agoFix missing return and closing brace.
William Hua [Sat, 16 Nov 2013 15:05:04 +0000 (10:05 -0500)]
Fix missing return and closing brace.

https://bugzilla.gnome.org/show_bug.cgi?id=712514

12 years agoGtkBuilder: Make IDs optional
Matthias Clasen [Mon, 18 Nov 2013 01:15:54 +0000 (20:15 -0500)]
GtkBuilder: Make IDs optional

One requirement of .ui files is that each object must have an ID,
even if it is never referred to or directly loaded from the code.
This makes editing .ui files much more onerous than it has to be,
due to the frequent need to invent new IDs, while avoiding
clashes.

This commit makes IDs optional in the XML. They only need to
be provided for objects which are referred to or explictly loaded
from the code. Since GtkBuilder needs IDs for its own internal
accounting, we create IDs of the form ___object_N___ if not
specified in the XML.

https://bugzilla.gnome.org/show_bug.cgi?id=712553

12 years agoDocument GTK_THEME
Matthias Clasen [Mon, 18 Nov 2013 01:28:49 +0000 (20:28 -0500)]
Document GTK_THEME

12 years agoFix doc build
Yosef Or Boczko [Mon, 18 Nov 2013 00:31:43 +0000 (02:31 +0200)]
Fix doc build

12 years agogtkwindow: Fix cast warning
Jasper St. Pierre [Sun, 17 Nov 2013 23:48:28 +0000 (18:48 -0500)]
gtkwindow: Fix cast warning

12 years agogtkwidget: Fix up some deprecation warnings
Jasper St. Pierre [Sun, 17 Nov 2013 23:47:51 +0000 (18:47 -0500)]
gtkwidget: Fix up some deprecation warnings

12 years agoUpdated POTFILES.skip
Piotr Drąg [Sun, 17 Nov 2013 17:56:32 +0000 (18:56 +0100)]
Updated POTFILES.skip

12 years agox11: Add extra debug spew on XI2 crossing and button events
Carlos Garnacho [Sat, 16 Nov 2013 23:14:06 +0000 (00:14 +0100)]
x11: Add extra debug spew on XI2 crossing and button events

This information will be useful in case someone stumbles on a situation
similar to https://bugzilla.gnome.org/show_bug.cgi?id=699574, so we can
figure out where do the crossing events come from or go to easily.

12 years agogdk: be more selective resetting scroll events
Carlos Garnacho [Sat, 16 Nov 2013 22:32:58 +0000 (23:32 +0100)]
gdk: be more selective resetting scroll events

It's been reported in several applications that scrolling feels jerky
since commit cc7b3985b3e31.

Investigation reported that the combination of passive 4-7 button grabs
on the toplevel and the presence of native subwindows might trigger
too often crossing events from the child window to the toplevel and
back as scroll "buttons" trigger the passive grab. Those crossing events
would reset the scroll valuators rendering scrolling from jerky on
touchpads (where there's intermediate smooth events between the emulated
button ones) to ineffective on regular mouse wheels (where the crossing
event would reset the valuators right before the single smooth scroll
event we get is delivered)

So, only reset scroll valuators when the pointer enters the toplevel
(we only care about this when the pointer is on the window after it's
been possibly scrolling somewhere else), and it doesn't come from an
inferior.

The situations where this happened varied though, the native subwindow
could be one created explicitly by the application, or created indirectly
through gdk_window_ensure_native(). The latter was mainly the case for
evolution (through gtk_selection_set_owner()) and any GtkScrolledWindow
under the oxygen-gtk3 theme (through gdk_window_set_composited())

https://bugzilla.gnome.org/show_bug.cgi?id=699574

12 years agoUse window icons for fallback
Matthias Clasen [Sat, 16 Nov 2013 21:41:26 +0000 (16:41 -0500)]
Use window icons for fallback

When the window has an icon, use it for the fallback menu
button.

12 years agoAdd the new exampleapp to the docs
Matthias Clasen [Sat, 16 Nov 2013 22:03:01 +0000 (17:03 -0500)]
Add the new exampleapp to the docs

12 years agoAdd another example application
Matthias Clasen [Sat, 16 Nov 2013 21:09:56 +0000 (16:09 -0500)]
Add another example application

This new step sets the headerbar as titlebar, and enables
fallback for the app menu.

12 years agoSmall doc improvements
Matthias Clasen [Sat, 16 Nov 2013 20:00:16 +0000 (15:00 -0500)]
Small doc improvements

12 years agoFix fallback menubar size allocation
Matthias Clasen [Sat, 16 Nov 2013 19:49:21 +0000 (14:49 -0500)]
Fix fallback menubar size allocation

When the menubar inserted by GtkApplicationWindow is the widest
widget in a csd window, its allocation gets cut short. Fix this
by taking the decoration size into account while calculating
the size request (it is implicitly taken into account in the
size allocation phase by _gtk_window_set_allocation).

12 years agoGtkWindow: better app menu fallback for CSD
Matthias Clasen [Sat, 16 Nov 2013 19:46:10 +0000 (14:46 -0500)]
GtkWindow: better app menu fallback for CSD

Do the menubutton for app menu fallback ourselves in GtkWindow
for the csd, non-custom titlebar case. This fits better with
the way we handle other title buttons. Themes have control
over the placement of this button by placing menu in the
decoration-button-layout style property.

12 years agoTrivial cleanup
Matthias Clasen [Sat, 16 Nov 2013 19:08:53 +0000 (14:08 -0500)]
Trivial cleanup

12 years agoTrivial whitespace fix
Matthias Clasen [Sat, 16 Nov 2013 15:52:23 +0000 (10:52 -0500)]
Trivial whitespace fix

12 years agoUpdated Polish translation
Piotr Drąg [Sat, 16 Nov 2013 17:46:19 +0000 (18:46 +0100)]
Updated Polish translation

12 years agoUpdated Spanish translation
Daniel Mustieles [Sat, 16 Nov 2013 17:36:51 +0000 (18:36 +0100)]
Updated Spanish translation

12 years agoUpdated Spanish translation
Daniel Mustieles [Sat, 16 Nov 2013 17:36:14 +0000 (18:36 +0100)]
Updated Spanish translation

12 years agoTest headerbar app menu fallback
Matthias Clasen [Sat, 16 Nov 2013 06:55:01 +0000 (01:55 -0500)]
Test headerbar app menu fallback

Make the sunny example useful by giving it a header bar
with app menu fallback. To test this under gnome-shell,
set APP_MENU_FALLBACK=1 in the environment.

12 years agoGtkApplicationWindow: Avoid double fallback for the app menu
Matthias Clasen [Sat, 16 Nov 2013 06:52:04 +0000 (01:52 -0500)]
GtkApplicationWindow: Avoid double fallback for the app menu

If we have a header bar which has the app menu fallback
enabled, don't add the app menu to the fallback menubar.

12 years agoGtkHeaderBar: Add a fallback app menu implementation
Matthias Clasen [Sat, 16 Nov 2013 06:50:39 +0000 (01:50 -0500)]
GtkHeaderBar: Add a fallback app menu implementation

Allow showing the fallback app menu with a menu button
in the header bar. Applications have to explicitly enable
this by calling gtk_header_bar_set_show_fallback_app_menu.

12 years agoGtkWindow: Make titlebar widget available privately
Matthias Clasen [Sat, 16 Nov 2013 06:39:41 +0000 (01:39 -0500)]
GtkWindow: Make titlebar widget available privately

This will be used in GtkApplicationWindow in the
following commits.

12 years agoGtkButton: don't propagate double-clicks
Matthias Clasen [Sat, 16 Nov 2013 04:41:09 +0000 (23:41 -0500)]
GtkButton: don't propagate double-clicks

It is basically always unexpected to have a container handle
double-clicks on a widget that handles single-clicks itself.

12 years agoUpdated Greek translation
Dimitris Spingos [Sat, 16 Nov 2013 04:14:44 +0000 (06:14 +0200)]
Updated Greek translation

12 years agoUpdated Brazilian Portuguese translation
Rafael Ferreira [Sat, 16 Nov 2013 03:10:07 +0000 (01:10 -0200)]
Updated Brazilian Portuguese translation

12 years agotests: Make testinput example not compress events
Martin Renold [Sat, 16 Nov 2013 00:49:55 +0000 (01:49 +0100)]
tests: Make testinput example not compress events

12 years agotestgtk: Don't use GDK_POINTER_MOTION_HINT_MASK anymore
Martin Renold [Sat, 16 Nov 2013 00:26:29 +0000 (01:26 +0100)]
testgtk: Don't use GDK_POINTER_MOTION_HINT_MASK anymore

12 years agogdk: Document event compression better
Martin Renold [Sat, 16 Nov 2013 00:25:27 +0000 (01:25 +0100)]
gdk: Document event compression better

Advise against using GDK_POINTER_MOTION_HINT_MASK.
Add pointers to gdk_window_set_event_compression() to the documentation.

12 years agoGtkAboutDialog: Fix a corner case of link highlighting
Matthias Clasen [Fri, 15 Nov 2013 19:42:34 +0000 (14:42 -0500)]
GtkAboutDialog: Fix a corner case of link highlighting

GtkAboutDialog highlights emails written as <...> and
urls written as http://... . gnome-terminal manages to
put <http://...> into its license text, which sadly
confuses the parser into running evolution on http://...

Fix things up far enough that <http://...> is now
recognized as url, and only the part inside the <> is
underlined (for email addresses, we include the <> in
the underline).

12 years agoWin32: Set the shows-desktop platform setting
Matthias Clasen [Fri, 15 Nov 2013 12:51:22 +0000 (07:51 -0500)]
Win32: Set the shows-desktop platform setting

Win32 shows icons on the desktop, so set shows-desktop
to TRUE here.

12 years agoQuartz: Set the shows-desktop platform setting
Matthias Clasen [Fri, 15 Nov 2013 12:50:37 +0000 (07:50 -0500)]
Quartz: Set the shows-desktop platform setting

OS X shows icons on the desktop, so set this setting
to TRUE here.

12 years agoGtkSettings: make show-desktop default to FALSE
Matthias Clasen [Fri, 15 Nov 2013 12:49:50 +0000 (07:49 -0500)]
GtkSettings: make show-desktop default to FALSE

This broke tests.

12 years agostylecontext: Revert part of previous commit
Benjamin Otte [Fri, 15 Nov 2013 03:16:33 +0000 (04:16 +0100)]
stylecontext: Revert part of previous commit

Commit 719dd636a9da679ea08a9644a8cccfe7d6f145d7 replaces
margin-left/right with margin-start/end. CSS does not have
margin-start/margin-end properties, the sed script was a bit overeager.

Fwiw, CSS implements RTL margin styling via :dir(rtl) selectors.

12 years agoGtkPlacesSidebar: don't unref an object we don't own
Cosimo Cecchi [Fri, 15 Nov 2013 02:30:47 +0000 (18:30 -0800)]
GtkPlacesSidebar: don't unref an object we don't own

gtk_settings_get_default() doesn't return a reference, so don't unref it
during dispose.

12 years agoReplace all margin-left and margin-right with margin-start and margin-end
Yosef Or Boczko [Thu, 14 Nov 2013 22:31:17 +0000 (00:31 +0200)]
Replace all margin-left and margin-right with margin-start and margin-end

https://bugzilla.gnome.org/show_bug.cgi?id=710238

12 years agoGtkWidget: Add margin-start and margin-end properties
Yosef Or Boczko [Mon, 28 Oct 2013 20:56:00 +0000 (22:56 +0200)]
GtkWidget: Add margin-start and margin-end properties

Add margin-{start,end} and gtk_widget_{get,set}_margin_{start,end}
and drop margin-{left,right} and gtk_widget_{get,set}_margin_{left,right}.

margin-{start,end} handle right also in RTL.

https://bugzilla.gnome.org/show_bug.cgi?id=710238

12 years agoGtkPlacesSidebar: use shell-shows-desktop setting
Ryan Lortie [Thu, 14 Nov 2013 20:02:00 +0000 (15:02 -0500)]
GtkPlacesSidebar: use shell-shows-desktop setting

Use the just-added shell-shows-desktop GtkSetting to determine if we
should also show the "Desktop" folder in the places sidebar.

https://bugzilla.gnome.org/show_bug.cgi?id=712302

12 years agoAdd a GtkSetting for 'shell-shows-desktop'
Ryan Lortie [Thu, 14 Nov 2013 20:01:19 +0000 (15:01 -0500)]
Add a GtkSetting for 'shell-shows-desktop'

Add a GtkSetting for whether the desktop shell is showing the desktop
folder icons.

This is on by default because most desktop shells do show the icons on
the desktop.  We already have a patch in gnome-settings-daemon to bind
this to the org.gnome.desktop.background show-desktop-icons GSettings
key which is off by default on GNOME.

https://bugzilla.gnome.org/show_bug.cgi?id=712302

12 years agoUpdated Polish translation
Piotr Drąg [Thu, 14 Nov 2013 18:21:02 +0000 (19:21 +0100)]
Updated Polish translation

12 years agobroadway: Improve touch events
Alexander Larsson [Thu, 14 Nov 2013 10:03:10 +0000 (11:03 +0100)]
broadway: Improve touch events

We now respect core pointer grabs, and we do the pointer emulation
detection on the browser side.

12 years agoAdd print to PDF to recent manager
Siegfried Gevatter (RainCT) [Tue, 24 Jan 2012 18:29:00 +0000 (18:29 +0000)]
Add print to PDF to recent manager

Printing a file with to PDF/etc. with the virtual printer option doesn't add
the file to the list of recently used files. It should be there, so I can
easily access it.

https://bugzilla.gnome.org/show_bug.cgi?id=668598

12 years agoGtkPlacesSidebar: Show unmounted bookmarks
Bastien Nocera [Wed, 6 Nov 2013 18:12:03 +0000 (19:12 +0100)]
GtkPlacesSidebar: Show unmounted bookmarks

The GtkFileInfo is only used if there's no bookmark name,
or to get the icon for the remote share or local folder.

https://bugzilla.gnome.org/show_bug.cgi?id=711548

12 years agogtktextattributes: Only use transparent union for g-ir-scanner
Colin Walters [Wed, 13 Nov 2013 17:59:57 +0000 (12:59 -0500)]
gtktextattributes: Only use transparent union for g-ir-scanner

https://bugzilla.gnome.org/show_bug.cgi?id=711158

12 years agoClean incorrect "_" use in the french translation
Sebastien Bacher [Wed, 13 Nov 2013 14:56:37 +0000 (15:56 +0100)]
Clean incorrect "_" use in the french translation

https://bugzilla.gnome.org/show_bug.cgi?id=712213

12 years agobroadway: Support ipad on-screen keyboard
Alexander Larsson [Wed, 13 Nov 2013 11:20:07 +0000 (12:20 +0100)]
broadway: Support ipad on-screen keyboard

We add a custom im module for broadway that calls some broadway
specific APIs to show/hide the keyboard on focus in/out. We then forward this
to the browser, and on the ipad we focus an input field to activate
the keyboard.

12 years agobroadway: Send focus out events
Alexander Larsson [Wed, 13 Nov 2013 11:10:29 +0000 (12:10 +0100)]
broadway: Send focus out events

12 years agobroadway: Fix focus handling with touch events
Alexander Larsson [Tue, 12 Nov 2013 21:06:33 +0000 (22:06 +0100)]
broadway: Fix focus handling with touch events

12 years agogdk/win32/gdkevents-win32.c: Fix typo
Chun-wei Fan [Wed, 13 Nov 2013 08:18:12 +0000 (16:18 +0800)]
gdk/win32/gdkevents-win32.c: Fix typo

...to fix the build on Windows.

12 years agoGtkApplicationWindow: avoid mis-allocation
Matthias Clasen [Wed, 13 Nov 2013 02:01:29 +0000 (21:01 -0500)]
GtkApplicationWindow: avoid mis-allocation

In the fallback case, we were adding the border width of the
window twice, causing the content to be mis-positioned and
cut off in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=710909

12 years agoGtkMenuTracker: set action namespace correctly
Lars Uebernickel [Tue, 12 Nov 2013 11:08:57 +0000 (12:08 +0100)]
GtkMenuTracker: set action namespace correctly

gtk_menu_tracker_add_items() fetched the action-namespace from the menu
item, but didn't pass it into gtk_menu_tracker_section_new() when its
internal namespace was still NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=712164

12 years agobroadway: Support window resize/drag via touch
Alexander Larsson [Tue, 12 Nov 2013 15:44:30 +0000 (16:44 +0100)]
broadway: Support window resize/drag via touch

12 years agoGtkStack: add transition-running property
Xavier Claessens [Mon, 11 Nov 2013 21:38:35 +0000 (16:38 -0500)]
GtkStack: add transition-running property

This is useful to know when the transition is done we can
remove the child from the stack.

https://bugzilla.gnome.org/show_bug.cgi?id=711494

12 years agobroadway: Add initial touch event support
Alexander Larsson [Tue, 12 Nov 2013 15:11:15 +0000 (16:11 +0100)]
broadway: Add initial touch event support

This seems to get something going on an ipad, but some events seem
to get swallowed. For instance, window dragging doesn't work.

12 years agobroadway: Disable all kinds of viewport scrolling and zooming
Alexander Larsson [Tue, 12 Nov 2013 12:44:27 +0000 (13:44 +0100)]
broadway: Disable all kinds of viewport scrolling and zooming

12 years agobroadway: Raise window on first click.
Alexander Larsson [Tue, 12 Nov 2013 11:36:05 +0000 (12:36 +0100)]
broadway: Raise window on first click.

12 years agobroadway: Add raise/lower ops
Alexander Larsson [Tue, 12 Nov 2013 11:23:58 +0000 (12:23 +0100)]
broadway: Add raise/lower ops

12 years agobroadway: use 'click-to-focus' approach instead of 'focus-follows-mouse'
Alexander Larsson [Tue, 12 Nov 2013 11:03:50 +0000 (12:03 +0100)]
broadway: use 'click-to-focus' approach instead of 'focus-follows-mouse'

The broadway backend would move the focus from one window to another based on
where the mouse was (i.e. 'focus-follows-mouse' approach). Handling the focus
this wait didn't play well with widgets which rely on focus-in-event and
focus-out-event, like the GtkEntry when using a completion popup window, see
e.g:
  https://bugzilla.gnome.org/show_bug.cgi?id=708984

So instead, setup broadway to require a click in a window to move the focus
(i.e. 'click-to-focus' approach):

 * The implicit GDK_FOCUS_CHANGE events that were generated upon reception of
   BROADWAY_EVENT_ENTER or BROADWAY_EVENT_LEAVE are removed.

 * The broadway daemon will now keep track of which is the focused window

 * Whenever the daemon detects an incoming BROADWAY_EVENT_BUTTON_PRESS, it will
   trigger the focused window switch, which sends a new BROADWAY_EVENT_FOCUS to
   the client, specifying which windows holds the focus.

 * Upon reception of a BROADWAY_EVENT_FOCUS, the client will generate a new
   GDK_FOCUS_CHANGE.

 * gdk_broadway_window_focus() was also implemented, which now requests the
   focus to the broadway server using a new BROADWAY_REQUEST_FOCUS_WINDOW.

This is based on an initial patch from Aleksander Morgado <aleksander@lanedo.com>.

12 years agoHandle recursion from motion event handlers
Owen W. Taylor [Mon, 11 Nov 2013 23:04:34 +0000 (18:04 -0500)]
Handle recursion from motion event handlers

If a motion event handler (or other handler running from the flush-events
phase of the frame clock) recursed the main loop then flushing wouldn't
complete until after the recursed main loop returned, and various aspects
of the state would get out of sync.

To fix this, change flushing of the event queue to simply mark events as
ready to flush, and let normal event delivery handle the rest.

https://bugzilla.gnome.org/show_bug.cgi?id=705176

12 years agotreeview: fix dragging of columns in mutter
Matthias Clasen [Tue, 12 Nov 2013 03:53:12 +0000 (22:53 -0500)]
treeview: fix dragging of columns in mutter

Don't recurse the mainloop in _gtk_tree_view_column_start_drag().
It doesn't serve any discernible purpose, and recursing the
mainloop from the flush-events phas of the frame clock breaks
frame synchronization with mutter.

https://bugzilla.gnome.org/show_bug.cgi?id=705176

12 years agogtkpixelcache: Fix possibly ignoring queued redraw
Olivier Brunel [Tue, 5 Nov 2013 18:21:28 +0000 (19:21 +0100)]
gtkpixelcache: Fix possibly ignoring queued redraw

If a queue_redraw() (invalidating a region, or the whole widget) was
called from the draw() call, it could get ignored if surface_dirty
existed, as it would then be updated, but destroyed right at the end of
the _gtk_pixel_cache_repaint(), leading the next call to
_gtk_pixel_cache_draw() have its call to repaint() be a no-op
(since there's no surface_dirty) and then simply draw from (non
updated) surface.

Signed-off-by: Olivier Brunel <jjk@jjacky.com>
https://bugzilla.gnome.org/show_bug.cgi?id=711545

12 years agoFix warning with event compression on a destroyed window
Owen W. Taylor [Mon, 11 Nov 2013 23:17:38 +0000 (18:17 -0500)]
Fix warning with event compression on a destroyed window

Fix a critical message when we try to compress events for a window
that was already destroyed.

12 years agoUpdated Greek translation
Dimitris Spingos [Mon, 11 Nov 2013 15:33:45 +0000 (17:33 +0200)]
Updated Greek translation

12 years agoProgress bar: Handle 'no more pulse'
Matthias Clasen [Mon, 11 Nov 2013 12:24:35 +0000 (07:24 -0500)]
Progress bar: Handle 'no more pulse'

Before smooth animation, stopping the pulse would abruptly stop
the bouncy bar. This change makes it so that we slow down for
a bit, and then stop.

12 years agowidget-factory: Make the activity mode more complete
Matthias Clasen [Mon, 11 Nov 2013 12:22:51 +0000 (07:22 -0500)]
widget-factory: Make the activity mode more complete

Test the 'no more pulse' situation. When the slider goes all
the way to the right towards slow, we remove the pulse timeout.

12 years agoUpdate drawing model docs
Matthias Clasen [Sun, 10 Nov 2013 08:25:48 +0000 (03:25 -0500)]
Update drawing model docs

Include material from Alex' blog post about the modern GTK+
rendering model.

12 years agoMake activity mode progress bars animate better
Matthias Clasen [Sun, 10 Nov 2013 06:20:27 +0000 (01:20 -0500)]
Make activity mode progress bars animate better

Use a tick callback and move the block each frame, instead
of making it jump only when gtk_progress_bar_pulse() is called.

12 years agoMake the progress bar speed variable
Matthias Clasen [Sun, 10 Nov 2013 06:15:59 +0000 (01:15 -0500)]
Make the progress bar speed variable

Arrange for the scales to control the speed of the activity
mode progress bar in gtk3-widget-factory. This will be useful
in demonstrating smoother progress bar animation in the future.

12 years agoMove a function around
Matthias Clasen [Sun, 10 Nov 2013 00:27:53 +0000 (19:27 -0500)]
Move a function around

_Gtk_file_chooser_label_for_file is not actually
used in gtkfilechooserdefault.c anymore, so move
it to a better place.

12 years agoSilence a compiler warning
Matthias Clasen [Sun, 10 Nov 2013 00:26:22 +0000 (19:26 -0500)]
Silence a compiler warning

12 years agoFilter out duplicate application shortcuts
Matthias Clasen [Sun, 10 Nov 2013 00:01:27 +0000 (19:01 -0500)]
Filter out duplicate application shortcuts

The file chooser used to do this, the places sidebar
still needs to learn it.

https://bugzilla.gnome.org/show_bug.cgi?id=711636

12 years agoTest duplicate shortcuts
Matthias Clasen [Sun, 10 Nov 2013 00:00:17 +0000 (19:00 -0500)]
Test duplicate shortcuts

Add an application shortcut for the Music folder in testfilechooser.
The file chooser used to filter duplicates out, but this broke
in the sidebar merge.

12 years agoGtkFileChooser: propagate local-only to sidebar
Matthias Clasen [Sat, 9 Nov 2013 23:29:10 +0000 (18:29 -0500)]
GtkFileChooser: propagate local-only to sidebar

This fixes a regression from the sidebar merge.

12 years agoGtkPlacesSidebar: Add local-only
Matthias Clasen [Sat, 9 Nov 2013 23:28:12 +0000 (18:28 -0500)]
GtkPlacesSidebar: Add local-only

This is necessary to implement the filechooser property
of the same name.

https://bugzilla.gnome.org/show_bug.cgi?id=711574

12 years agoUpdate coding style
Matthias Clasen [Sat, 9 Nov 2013 22:28:02 +0000 (17:28 -0500)]
Update coding style

gtkplacessidebar.c was looking foreign.

12 years agoUpdated British English translation
Bruce Cowan [Sat, 9 Nov 2013 21:52:20 +0000 (21:52 +0000)]
Updated British English translation